Next: , Previous: Top, Up: Top


1 Gnus Coding Style

1.1 Dependencies

The Gnus distribution contains a lot of libraries that have been written for Gnus and used intensively for Gnus. But many of those libraries are useful on their own. E.g. other Emacs Lisp packages might use the MIME library See Top.

1.1.1 General purpose libraries

netrc.el
.netrc parsing functionality. There are no Gnus dependencies in this file.
format-spec.el
Functions for formatting arbitrary formatting strings. There are no Gnus dependencies in this file.
hex-util.el
Functions to encode/decode hexadecimal string. There are no Gnus dependencies in these files.

1.1.2 Encryption and security

encrypt.el
File encryption routines There are no Gnus dependencies in this file.
password.el
Read passwords from user, possibly using a password cache. There are no Gnus dependencies in this file.
tls.el
TLS/SSL support via wrapper around GnuTLS There are no Gnus dependencies in this file.
pgg*.el
Glue for the various PGP implementations. There are no Gnus dependencies in these files.
sha1.el
SHA1 Secure Hash Algorithm. There are no Gnus dependencies in these files.

1.1.3 Networking

dig.el
Domain Name System dig interface. There are no serious Gnus dependencies in this file. Uses gnus-run-mode-hooks (a wrapper function).
dns.el, dns-mode.el
Domain Name Service lookups. There are no Gnus dependencies in these files.

1.1.4 Mail and News related RFCs

pop3.el
Post Office Protocol (RFC 1460) interface. There are no Gnus dependencies in this file.
imap.el
IMAP library. There are no Gnus dependencies in this file.
ietf-drums.el
Functions for parsing RFC822bis headers. There are no Gnus dependencies in this file.
rfc1843.el
HZ (rfc1843) decoding. HZ is a data format for exchanging files of arbitrarily mixed Chinese and ASCII characters. rfc1843-gnus-setup seem to be useful only for Gnus. Maybe this function should be relocated to remove dependencies on Gnus. Other minor dependencies: gnus-newsgroup-name could be eliminated by using an optional argument to rfc1843-decode-article-body.
rfc2045.el
Functions for decoding rfc2045 headers There are no Gnus dependencies in these files.
rfc2047.el
Functions for encoding and decoding rfc2047 messages There are no Gnus dependencies in these files. Only a couple of tests for gnusy symbols.
rfc2104.el
RFC2104 Hashed Message Authentication Codes There are no Gnus dependencies in these files.
rfc2231.el
Functions for decoding rfc2231 headers There are no Gnus dependencies in these files.
flow-fill.el
Interpret RFC2646 "flowed" text. There are no Gnus dependencies in this file.
uudecode.el
Elisp native uudecode. There are no Gnus dependencies in this file.
canlock.el
Functions for Cancel-Lock feature There are no Gnus dependencies in these files.

1.1.5 message

All message composition from Gnus (both mail and news) takes place in Message mode buffers. Message mode is intended to be a replacement for Emacs mail mode. There should be no Gnus dependencies in message.el. Alas it is not anymore. Patches and suggestions to remove the dependencies are welcome.

1.1.6 Emacs MIME

The files mml*.el and mm-*.el provide MIME functionality for Emacs.

MML (MIME Meta Language) is supposed to be independent from Gnus. Alas it is not anymore. Patches and suggestions to remove the dependencies are welcome.

1.1.7 Gnus backends

The files nn*.el provide functionality for accessing NNTP (nntp.el), IMAP (nnimap.el) and several other Mail back ends (probably nnml.el, nnfolder.el and nnmaildir.el are the most widely used mail back ends).

1.2 Compatibility

No Gnus and Gnus 5.10.10 and up should work on:

Gnus 5.10.8 and below should work on: